# 4.1 遍历列表
# for循环
# from typing import Tuple

cars = ['bmw', 'audi', 'toyota', 'subaru']
for car in cars:
    print(f"car name: {car}")

print('\n')

# 4.3 数值列表
# 4.3.1 range()函数
for num in range(1, 5):
    print(num)
print(f"range——左闭右开区间函数: {range(1,5)}")
print(f"使用使用list函数转换range: {list(range(1,5))}")

# range 第三个参数指定步长
print(f"range 第三个参数指定步长: {list(range(2,11,2))}")

print("\n")

# 前10个正整数的平方
num_list = []
for num in range(1, 11):
    num_list.append(num**2)
print(f"前10个正整数的平方:{num_list}")

print("\n")

# 4.3.3 统计函数
digit = []
for num in range(0, 10):
    digit.append(num)
print('最小值：', min(digit))
print('最大值：', max(digit))
print('总和：', sum(digit))

print("\n")

# 4.3.4 列表解析
square = [value**2 for value in range(1, 11)]
print('列表平方：', square)
cube = [value**3 for value in range(1, 11)]
print('列表立方：', cube)

print("\n")

# 4.4.1 切片 —— 左闭右开区间
print('cube[1:3]:', cube[1:3])
print('cube[:4]:', cube[:4])
print('cube[8:]:', cube[8:])
print('cube[-4:]:', cube[-4:])

print("\n")

# 4.4.2 遍历切片
print('遍历切片:')
for num in cube[-5:]:
    print(num)

print("\n")

# 4.4.3 赋值列表
copy_square = square[:]
copy_square.pop()
print('copy_square: ', copy_square)
print('square: ', square)

print("\n")

# 4.5 元组(Tuple) 使用小括号()表示。不可变的列表
dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])
# 单个元素的元组
single_tuple = (3, )
print(single_tuple)

print("\n")
